package org.jeecg.modules.enhance.java;

import java.util.HashMap;
import java.util.Map;

import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.manage.entity.StyleInfo;
import org.jeecg.modules.manage.service.IStyleInfoService;
import org.jeecg.modules.online.cgform.converter.FieldCommentConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

/**
 * 款号和ID转换器（导出导入时）
 * @author windforce
 *
 */
@Component("styleCodeNumConverter")
public class StyleCodeNumConverter implements FieldCommentConverter {
	
	@Autowired
	private IStyleInfoService styleInfoService;
	
	
	/**
	 * 款号转ID（导入Excel时候使用）
	 */
	@Override
	public String converterToVal(String txt) {
		Map<String,String[]> map = new HashMap<>();
		QueryWrapper<StyleInfo> queryWrapper = QueryGenerator.initQueryWrapper(new StyleInfo(), map);
		if (txt != null && !"".equals(txt)) {
			queryWrapper.eq("code_num", txt);
			StyleInfo styleInfo = styleInfoService.getOne(queryWrapper);
			return styleInfo != null ? styleInfo.getId() : txt;
		} else {
			return txt;
		}
	}

	/**
	 * ID转款号（导出Excel时候使用）
	 */
	@Override
	public String converterToTxt(String val) {
		Map<String,String[]> map = new HashMap<>();
		QueryWrapper<StyleInfo> queryWrapper = QueryGenerator.initQueryWrapper(new StyleInfo(), map);
		if (val != null && !"".equals(val)) {
			queryWrapper.eq("id", val);
			StyleInfo styleInfo = styleInfoService.getOne(queryWrapper);
			return styleInfo != null ? styleInfo.getCodeNum() : val;
		} else {
			return val;
		}
	}

	@Override
	public Map<String, String> getConfig() {
		return null;
	}
}